package br.com.ffm.praticas.teste;

import static org.junit.Assert.fail;
import junit.framework.Assert;

import org.junit.Before;
import org.junit.Test;

import br.com.ffm.praticas.modelo.Mensagem;
import br.com.ffm.praticas.modelo.Pasta;

public class PastaTest {

	private Pasta pasta;
	private Mensagem msg;
	
	@Before
	public void setUp() throws Exception {	
		pasta = new Pasta("PASTA TESTE");
		msg = new Mensagem("teste@teste.com", "teste2@teste.com", "assunto teste", "mensagem teste");
		pasta.addMensagem(msg);
	}

	@Test
	public void testPesquisaMsgRemetente() {
		Assert.assertEquals(1, pasta.pesquisaMsgRemetente("teste@teste.com").size());
		Assert.assertEquals(0, pasta.pesquisaMsgRemetente("diferente@teste.com").size());
		Assert.assertEquals(msg, pasta.pesquisaMsgRemetente("teste@teste.com").get(0));
	}

	@Test
	public void testPesquisaMsgDestinatario() {
		Assert.assertEquals(1, pasta.pesquisaMsgDestinatario("teste2@teste.com").size());
		Assert.assertEquals(0, pasta.pesquisaMsgDestinatario("diferente@teste.com").size());
		Assert.assertEquals(msg, pasta.pesquisaMsgDestinatario("teste2@teste.com").get(0));
	}

	@Test
	public void testPesquisaMsg() {
		Assert.assertEquals(1, pasta.pesquisaMsg("teste").size());
		Assert.assertEquals(0, pasta.pesquisaMsg("diferente").size());
		Assert.assertEquals(msg, pasta.pesquisaMsg("teste").get(0));
	}

}
